% Copyright 2004 by Till Tantau <tantau@users.sourceforge.net>.
%
% In principle, this file can be redistributed and/or modified under
% the terms of the GNU Public License, version 2.
%
% However, this file is supposed to be a template to be modified
% for your own needs. For this reason, if you use this file as a
% template and not specifically distribute it as part of a another
% package/program, I grant the extra permission to freely copy and
% modify this file as you see fit and even to delete this copyright
% notice. 

\documentclass[12pt]{beamer}
% Replace the \documentclass declaration above
% with the following two lines to typeset your 
% lecture notes as a handout:
%\documentclass{article}
%\usepackage{beamerarticle}
\usepackage[utf8]{inputenc}
%\usepackage[noend]{algpseudocode}
\usepackage[T1]{fontenc}
%\usepackage{algorithmicx}
\usepackage{amsmath}
%\usepackage{mathtools}

% There are many different themes available for Beamer. A comprehensive
% list with examples is given here:
% http://deic.uab.es/~iblanes/beamer_gallery/index_by_theme.html
% You can uncomment the themes below if you would like to use a different
% one:
%\usetheme{AnnArbor}
%\usetheme{Antibes}
%\usetheme{Bergen}
%\usetheme{Berkeley}
%\usetheme{Berlin}
%\usetheme{Boadilla}
%\usetheme{boxes}
%\usetheme{CambridgeUS}
%\usetheme{Copenhagen}
%\usetheme{Darmstadt}
%\usetheme{default}
%\usetheme{Frankfurt}
%\usetheme{Goettingen}
%\usetheme{Hannover}
%\usetheme{Ilmenau}
%\usetheme{JuanLesPins}
%\usetheme{Luebeck}
%\usetheme{Madrid}
%\usetheme{Malmoe}
\usetheme{Marburg}
%\usetheme{Montpellier}
%\usetheme{PaloAlto}
%\usetheme{Pittsburgh}
%\usetheme{Rochester}
%\usetheme{Singapore}
%\usetheme{Szeged}
%\usetheme{Warsaw}

\title{Reconnaissance des visages}

\author{KHONG Minh Thanh - Nguyen Quoc Khai}
% - Give the names in the same order as the appear in the paper.
% - Use the \inst{?} command only if the authors have different
%   affiliation.

% - Use the \inst command only if there are several affiliations.
% - Keep it simple, no one is interested in your street address.

\date{IFI, Hanoi, 2013}
% - Either use conference name or its abbreviation.
% - Not really informative to the audience, more for people (including
%   yourself) who are reading the slides online

\subject{Reconnaissance des visages}
% This is only inserted into the PDF information catalog. Can be left
% out. 

% If you have a file called "university-logo-filename.xxx", where xxx
% is a graphic format that can be processed by latex or pdflatex,
% resp., then you can add a logo as follows:

% \pgfdeclareimage[height=0.5cm]{university-logo}{university-logo-filename}
% \logo{\pgfuseimage{university-logo}}

% Delete this, if you do not want the table of contents to pop up at
% the beginning of each subsection:
\AtBeginSubsection[]
{
  \begin{frame}<beamer>{Plan de présentation}
    \tableofcontents[currentsection,currentsubsection]
  \end{frame}
}

% Let's get started
\begin{document}

\begin{frame}
  \titlepage
\end{frame}

\begin{frame}{Plan de présentation}
  \tableofcontents
  % You might wish to add the option [pausesections]
\end{frame}

\section{Introduction}
\begin{frame}{Introduction}
Nous allons implémenter un système permettant de faire de la reconnaissance de visage.
Dans ce travail, nous allons implémenter deux méthode pour faire la reconnaissance de visage:
\begin{itemize}
\item K plus proches voisin
\item FisherFace
\end{itemize}
Nous faisons aussi l'expérimentation pour savoir les points forts et faibles des méthodes utilisés.
\end{frame}

\section{Descriptions des méthodes utilisées}
\subsection{Le plus proche voisin}
\begin{frame}{Le plus proche voisin}
Cette méthode est réalisé dans des étapes suivantes.
\begin{block}{Détection des blocks}
Diviser l'image en N blocks de même taille.
\end{block}

\begin{block}{Calcul du descripteur}
Un descripteur contient $N$ éléments. 
\begin{enumerate}
\item Distance d'Euclide
\begin{equation}
D_e = \sqrt{\sum_{\substack{
   	(1<=i<=N)}} (e_{1i} - e_{2i})^2}
\end{equation}
\item Distance de Cosine de 2 descripteurs $v_1$ et $v_2$
\begin{equation}
D_c = \frac{\overrightarrow{v_1}.\overrightarrow{v_2}}{\mid{v_1}\mid.\mid{v_2}\mid}
\end{equation}
\end{enumerate}
\end{block}
\end{frame}

\begin{frame}{Le plus proche voisin 2}
\begin{block}{Le plus proches voisins}
Prendre l'image ayant la distance la plus courte vers l'image de test. Choix du type de cette image comme le type de l'image de test.
\end{block}
\end{frame}

\subsection{FisherFace}
\begin{frame}{FisherFace (1/3)}
Le cœur de FisherFace est Linear Discriminant Analysis (LDA): l'idée c'est de maximiser la différente entre les classes au lieu de maximiser la différente de tous les instances comme PCA.

\end{frame}
%\subsection{FisherFace (2/2)}
\begin{frame}{FisherFace (2/3)}
Dans OpenCV, il existe déjà l'implémentation de cette méthode \cite{c1}, \cite{c2}.

Soit X un vecteur aléatoire des échantillons tirés de classes de c:
\begin{align*} 
X  =  \{X_1,X_2,\ldots,X_c\} \\ 
X_i  =  \{x_1, x_2, \ldots, x_n\} 
\end{align*} 

La dispersion des matrices $ S_ {B} $ et $ S_ {W} $ sont calculées comme:
\begin{align*} 
S_{B} = \sum_{i=1}^{c} N_{i} (\mu_i - \mu)(\mu_i - \mu)^{T} \\
 S_{W}  =  \sum_{i=1}^{c} \sum_{x_{j} \in X_{i}} (x_j - \mu_i)(x_j - \mu_i)^{T}  
\end{align*}
\end{frame}

\begin{frame}{FisherFace (3/3)}
où $\mu$ est la moyenne totale:
\begin{align*} 
\mu = \frac{1}{N} \sum_{i=1}^{N} x_i
\end{align*}

Et $\mu_i$ est la moyenne de la classe $i\in\{1,\ldots,c\}$:
\begin{align*} 
\mu_i = \frac{1}{|X_i|} \sum_{x_j \in X_i} x_j
\end{align*}

Algorithme de FisherFace cherche maintenant une projection W, qui maximise le critère de séparabilité des classes:

\begin{align*} 
W_{opt} = \operatorname{arg\,max}_{W} \frac{|W^T S_B W|}{|W^T S_W W|}
\end{align*}

\end{frame}




\section{Expérimentation}
\subsection{Critères d'évaluation}
\begin{frame}{Critères d'évaluation}
  \begin{itemize}
  \item Pour évaluation notre programme, nous utilisons 2 critères
  \begin{itemize}
   \item Le taux de précision
   \item Le temps de calcul 
  \end{itemize}
  \end{itemize}
\end{frame}
\subsection{Méthode NNC}
\begin{frame}{Méthode NNC}
Bien choisir des paramètres comme le nombre de block.
\begin{block}{Nombre de block}
Quand le nombre de block est petit ou très grand, le résultat n'est pas exact.
\end{block}
\end{frame}

\subsection{Méthode FisherFace}
\begin{frame}{FisherFace}

\end{frame}

\section{Résultats}
\subsection{Méthode NNC}
\begin{frame}{Méthode NNC}
\begin{figure}[!htb]
\minipage{0.55\textwidth}
  \includegraphics[width=\linewidth]{images/g1.png}
  \caption{Taux de reconnaissance}\label{fig:awesome_image2}
\endminipage\hfill
\minipage{0.55\textwidth}
  \includegraphics[width=\linewidth]{images/g2.png}
  \caption{Temps de calcul}\label{fig:awesome_image3}
\endminipage\hfill
\end{figure}
\end{frame}

\begin{frame}{Méthode NNC}
\begin{figure}[!htb]
\minipage{0.15\textwidth}
  \includegraphics[width=\linewidth]{images/test1/2_24_8.png}
  \caption{Image de test}\label{fig:awesome_image2}
\endminipage\hfill
\minipage{0.15\textwidth}
  \includegraphics[width=\linewidth]{images/test1/6.png}
  \caption{type 24}\label{fig:awesome_image3}
\endminipage\hfill
\minipage{0.15\textwidth}
  \includegraphics[width=\linewidth]{images/test1/7.png}
  \caption{type 24}\label{fig:awesome_image3}
\endminipage\hfill
\minipage{0.15\textwidth}
  \includegraphics[width=\linewidth]{images/test1/8.png}
  \caption{type 24}\label{fig:awesome_image3}
\endminipage\hfill
\minipage{0.15\textwidth}
  \includegraphics[width=\linewidth]{images/test1/9.png}
  \caption{type 24}\label{fig:awesome_image3}
\endminipage\hfill
\minipage{0.15\textwidth}
  \includegraphics[width=\linewidth]{images/test1/10.png}
  \caption{type 24}\label{fig:awesome_image3}
\endminipage\hfill
\end{figure}


\begin{figure}[!htb]
\minipage{0.15\textwidth}
  \includegraphics[width=\linewidth]{images/test1/2/6.png}
  \caption{type 2}\label{fig:awesome_image3}
\endminipage\hfill
\minipage{0.15\textwidth}
  \includegraphics[width=\linewidth]{images/test1/2/7.png}
  \caption{type 2}\label{fig:awesome_image3}
\endminipage\hfill
\minipage{0.15\textwidth}
  \includegraphics[width=\linewidth]{images/test1/2/8.png}
  \caption{type 2}\label{fig:awesome_image3}
\endminipage\hfill
\minipage{0.15\textwidth}
  \includegraphics[width=\linewidth]{images/test1/2/9.png}
  \caption{type 2}\label{fig:awesome_image3}
\endminipage\hfill
\minipage{0.15\textwidth}
  \includegraphics[width=\linewidth]{images/test1/2/10.png}
  \caption{type 2}\label{fig:awesome_image3}
\endminipage\hfill
\end{figure}
\end{frame}

\subsection{Méthode FisherFace}
\begin{frame}{Résultats FisherFace}
La même base d'apprentissage et de test. Voici le résultat:\\
True : 200 False : 0\\
Rate : 100\%\\

Nous regardons ensuite sur le résultat avec la base de test:\\
True : 163 false : 37\\
Rate : 81.5\%
\end{frame}

\begin{frame}{Résultats FisherFace 2}
Ci-dessous sont des mauvais résultats de classification : \\
Actual class = 25 / Predicted class = \textbf{22}\\
Actual class = 32 / Predicted class = \textbf{22}\\
Actual class = 28 / Predicted class = \textbf{22}\\
...\\
\textbf{Actual class = 13 / Predicted class = 20\\
Actual class = 13 / Predicted class = 20\\
Actual class = 13 / Predicted class = 20\\
Actual class = 13 / Predicted class = 20\\
Actual class = 13 / Predicted class = 21\\}
\end{frame}

\begin{frame}{Résultats FisherFace 3}
\begin{figure}[!htb]
\minipage{0.15\textwidth}
\includegraphics[width=\linewidth]{faces/s14/6.jpg}
\caption{classe 13}
\endminipage\hfill
\minipage{0.15\textwidth}
\includegraphics[width=\linewidth]{faces/s14/7.jpg}
\caption{classe 13} %\label{fig:awesome_image3}
\endminipage\hfill
\minipage{0.15\textwidth}
\includegraphics[width=\linewidth]{faces/s14/8.jpg}
\caption{classe 13} %\label{fig:awesome_image3}
\endminipage\hfill
\minipage{0.15\textwidth}
\includegraphics[width=\linewidth]{faces/s14/9.jpg}
\caption{classe 13} %\label{fig:awesome_image3}
\endminipage\hfill
\end{figure}

\end{frame}


\subsection{Comparaison entre NNC et FisherFace}
\begin{frame}{Comparaison entre NNC et FisherFace}
\begin{itemize}
 \item NNC est beaucoup plus vite 
 \item NNC est un peu plus précisément 
\end{itemize}

\end{frame}
\section{Conclusion}
\begin{frame}{Conclusion}

\end{frame}

% All of the following is optional and typically not needed. 
\section*{Références}

\begin{frame}
\begin{thebibliography}{9}
\bibitem{c1}
~Peter N. Belhumeur, Joao P. Hespanha, and David J. Kriegman
  \emph{Eigenfaces vs. Fisherfaces: Recognition Using Class Specific Linear Projection}.
  IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 19, NO. 7, JULY 1997

\bibitem{c2}
~OpenCV\\
\emph{http://docs.opencv.org/modules/contrib/doc/\\
facerec/facerec\_tutorial.html\#id16}
\end{thebibliography}
\end{frame}
\begin{frame}
 \Huge Merci pour votre attention!
\end{frame}

\end{document}
